IMPDDB page# 0001 next
2: COMMENT ⊗   VALID 00007 PAGES 
3: RECORD PAGE   DESCRIPTION
4:  00001 00001
5:  00002 00002    SUBTTL DATA AREA FOR INTERMINABLE MESSAGE PROTESTOR - JAM SEPT, '71
6:  00003 00003     MODEL DEVICE DATA BLOCK FOR IMP CONNECTIONS
7:  00005 00004     OUTPUT ROUTINE STORAGE
8:  00008 00005     STORAGE FOR CLOCK LEVEL WAIT ROUTINE
9:  00010 00006     HOST AND LINK TABLES
10:  00012 00007     THE FOLLOWING ARE COUNTERS OF THE NUMBER OF TIMES VARIOUS EVENTS HAVE HAPPENED
11:  00016 ENDMK
12: ⊗;
    IMPDDB page# 0002 next  prev
14: SUBTTL DATA AREA FOR INTERMINABLE MESSAGE PROTESTOR - JAM SEPT, '71
    IMPDDB page# 0003 next  prev
16: ; MODEL DEVICE DATA BLOCK FOR IMP CONNECTIONS
17: 
18: DEFINE Z(NAME,VAL) <NAME←←.-DDBMDLVAL>
19: 
20:         DEVSHR,,0               ; DEVCMR
21: DDBMDL: SIXBIT /IMP/
22:         TDLEN+1                 ; DEVCHR, BUFFER SIZE
23:         0                       ; DEVIOS
24:         LPTDDB,,IMPDSP          ; DEVSER, UUO DISPATCH TABLE ADDRESS
25:         DVIMP!DVLNG!DVIN!DVOUT,,154403
26:         0                       ; DEVLOG
27:         0                       ; DEVBUF
28:         0                       ; DEVIAD
29:         0                       ; DEVOAD
30:         0                       ; DEVFIL
31:         0                       ; DEVEXT
32:         Z(INL,0)                ; INPUT LIST
33:         Z(MAL,0)                ; MESSAGE ALLOCATION
34:         Z(BAL,0)                ; BIT ALLOCATION
35:         Z(NHMA,0)               ; NOMINAL MESSAGE ALLOCATION
36:         Z(NHBA,0)               ; NOMINAL BIT ALLOCATION
37:         Z(NHMA2,0)              ; 1/2 OF THE NOMINAL MESSAGE ALLOCATION
38:         Z(NHBA2,0)              ; 1/2 OF THE NOMINAL BIT ALLOCATION
39:         Z(HMA,0)                ; HIS MESSAGE ALLOCATION
40:         Z(HBA,0)                ; HIS BIT ALLOCATION
41:         Z(MIIL,0)               ; NUMBER OF MESSAGES IN INPUT LIST
42:         Z(BIIL,0)               ; NUMBER OF BITS IN INPUT LIST
43:         Z(TIMES,<BYTE (6) 5,5,0,40,0>)
44:                                 ; CLS, RFNM, ALL, RFC, INP WAIT TIMEOUTS
45:         Z(TIM,-1)               ; TIMEOUT COUNT
46: IMPDLN←←.-DDBMDL+1
47: 
48: IMPDIE:         0       ; SET TO NON-ZERO TO KEEP IMP SYSTEM DOWN
49: 
50: IMPST←←.                ; NOTE IMP DATA AREA TO BE CLEARED BEGINS HERE
    IMPDDB page# 0004 next  prev
52: ; OUTPUT ROUTINE STORAGE
53: 
54: IMPDEAD:        0       ; SET TO -1 IF IMP DECLARED DEAD
55: IMPOACT:        0       ; SET TO -1 IF OUTPUT IS ACTIVE
56: IMPOBK:         0       ; OUTPUT BLKO POINTER
57: IMPOCUR:        0       ; CURRENT BUFFER BEING OUTPUTTED
58: OLIST:          0       ; OUTPUT LIST. XWD <LAST ELEMENT>,<FIRST ELEMENT>
59: IMPOFC:         0       ; COUNT OF WDS TO GO IN 36B MODE
60: IMPOFM:         0       ; SET TO -1 FOR FULL WORD (36B) MODE
61: IMPOCT:         0       ; OUTPUT TIME-OUT COUNT
62: IMPOPD:         0       ; OUTPUT SIDE PUSHDOWN LIST
63: IMPOPL:         BLOCK INTPLN
64: 
65: ; INPUT ROUTINE STORAGE
66: 
67: IMPBKO:         0       ; INPUT BLKI WORD
68: IMPICUR:        0       ; CURRENT INPUT BUFFER
69: IMPITOP:        0       ; TOP OF CURRENT INPUT LIST
70: ILIST:          0       ; INPUT LIST, XWD <LAST ELEMENT>,<FIRST ELEMENT>
71: IMPIFM:         0       ; -1 FOR 36B MODE, OTHERWISE, 32B MODE
72: IMPHELP:        0       ; IF NO BUFFER AVAILABLE AT I-LEVEL, INPUT WORD IS PLACED HERE
73: IMPHLF:         0       ; FLAG THAT SAYS WE ARE WAITING FOR AN INPUT BLOCK
74: IMPIHD:         0       ; SET TO -1 IF WORD IN IMPHELP IS LAST WORD IN MESSAGE
75: IMPSPARE:       0       ; SPARE INPUT BUFFER
76: IMPCLN:         0       ; SET TO -1 WHEN A CLOCK REQUEST FOR A NEW SPARE IS PLANTED
77: IMPINW:         0       ; NUMBER OF WORDS OF REGULAR MESSAGE
78: IMPIMS:         0       ; MASK FOR CLEANING OUT LAST WORD OF REGULAR MESSAGE
79: IMPIPD:         0       ; INPUT SIDE PUSHDOWN LIST
80: IMPIPL:         BLOCK INTPLN
81: 
82: ; I-LEVEL GENERAL STORAGE
83: ; IN IMPCHAN WE HAVE . . .
84: ;       CONSZ IMP,IDONE!IEND
85: ;       JRST IMPINT
86: ;       CONSZ IMP,ODONE
87: ;       JRST IMPOUT
88: ;       CONSZ IMP,IMPERR
89: ;       JRST IMPERB
90: 
91: IMPAC1:         0       ; ACCUMULATOR STORAGE
92: IMPAC2:         0
93: IMPAC3:         0
94: IMPPID:         P1PID
95: IMPIDSP:        IBEGIN
96: IMPODSP:        OBEGIN
97: IMPECT:         0       ; ERROR BIT COUNT DOWN
    IMPDDB page# 0005 next  prev
99: ; STORAGE FOR CLOCK LEVEL WAIT ROUTINE
100: 
101: IMPCLW:         0       ; -1 MEANS WE ARE WAITING FOR FREE STORAGE
102: IMPPDP:         0       ; WHERE PUSHDOWN POINTER IS STORED WHILE WAITING
103: IMPFP:          0       ; THIS IS STACK AS IT LOOKS WHEN WE ENTER AT IMPCLK
104: IMPSAV:         BLOCK CLKPLN
105:                         ; WHERE CLOCK LEVEL PUSHDOWN LIST IS STORED WHILE WAITING
106: 
107: ; STORAGE FOR CLOCK COUNTING SYSTEM TIMEOUTS
108: 
109: TIMCNT:         0       ; COUNT DOWN FOR CHECKING TIMED WAITS
110: TIMWAIT:        0       ; NUMBER OF PEOPLE WAITING FOR A TIMEOUT
111: 
112: ; STORAGE FOR FREE STORAGE MANAGER
113: 
114: IMPFSL:         0       ; FREE STORAGE LIST
115: IMPSPN:         0       ; COUNT OF NUMBER OF SPARE BLOCKS NEEDED
116: 
117: ; STORAGE FOR POLLING ROUTINE
118: 
119: POLTIM←←30*JIFSEC       ; 60 MINUTES BETWEEN POLLS
120: POLCNT:         POLTIM
121: 
122: ; FOR CLEANUP ROUTINE (ACTUALLY PART OF POLLING ROUTINE)
123: 
124: HCLSTM←←6               ; 3 MINUTES BETWEEN CLEANUPS
125: HCLSCT:         0       ; COUNTER FOR CLEANUPS
126: 
127: ; OTHER STORAGE . . .
128: 
129: RECOVER:        0       ; FLAG FOR ERROR RECOVERY SYSTEM
130: IMPPMS:         0       ; SET ≠ 0 TO PRINT ALL ERROR MESSAGES
131: RSTHST:         377     ; HOST TO BE RESET NEXT
132: 
133: NOPCNT:         4       ;COUNT OF NOPS YET TO BE SENT TO IMP TO INITIALIZE
    IMPDDB page# 0006 next  prev
135: ; HOST AND LINK TABLES
136: 
137: ; STORAGE FOR ROUTINE THAT ASSIGNS NEW AND UNIQUE LINKS
138: 
139: LSTLNK:         0       ; LAST LINK NUMBER ASSIGNED
140: 
141: ; HOST TABLES AND LINK TABLE
142: 
143: L0WAIT: 0               ; COUNT OF NUMBER OF JOBS IN IO WAIT FOR LINK 0 TO BECOME UNBLOCKED
144: L0CWTL: 0               ; LIST OF MESSAGES INITIATED AT CLOCK LEVEL FOR LINK 0
145: SYSTBS←←.               ; BEGINNING OF SYSTEM DATA TABLES
146: L0BLOK: BLOCK 10        ; BLOCKED-LINK-0 BIT FOR EACH HOST, 32. BITS PER WORD
147: 
148: MAXNLK←←40              ; CURRENT MAXIMUM NUMBER OF CONNECTIONS
149: LNKMAX: MAXNLK          ; FOR THE SYSTEM TABLE READERS
150: LNKTAB: BLOCK MAXNLK    ; BITS 28-35 ARE LINK NUMBER, 20-27 ARE HOST NUMBER
151: IMPDDB: BLOCK MAXNLK    ; CONTAINS ADDRESS OF DDB ON THIS CONNECTION
152: IMPLS:  BLOCK MAXNLK    ; LOCAL NUMBER
153: IMPFS:  BLOCK MAXNLK    ; FOREIGN SOCKET
154: IMPBS:  BLOCK MAXNLK    ; CONNECTION BYTE SIZE
155: IMPSTB: BLOCK MAXNLK    ; STATUS BIT TABLE
156: IMPRFQ: BLOCK MAXNLK    ; LIST OF RFCS WAITING FOR CONNECTION ON THIS SOCKET
157: FFLNK:  0               ; INDEX OF FIRST FREE LINK.
    IMPDDB page# 0007 next  prev
159: ; THE FOLLOWING ARE COUNTERS OF THE NUMBER OF TIMES VARIOUS EVENTS HAVE HAPPENED
160: 
161: FRMIMP: 0       ; NUMBER OF MESSAGES FROM IMP
162: FLNOPS: 0       ; NUMBER OF NO-OPS RECEIVED
163: TRACES: 0       ; TRACE MESSAGES
164: ERWOMI: 0       ; ERRORS WITHOUT MASSAGE IDENTIFICATION
165: NIMPDN: 0       ; NUMBER OF IMP GOING DOWN MESSAGES
166: NBLNKS: 0       ; BLOCKED LINK
167: LTFULL: 0       ; LINK TABLE FULL
168: ERWMI:  0       ; ERROR WITH MASSAGE IDENTIFICATION
169: INCMTR: 0       ; INCOMPLETE TRANSMISSION
170: ILLMT:  0       ; ILLEGAL MESSAGE TYPE
171: BDRFNM: 0       ; RFNM RECEIVED ON AN UNBLOCKED LINK
172: NODDBS: 0       ; NO DDB WHEN ONE WAS CALLED FOR
173: UNKLNK: 0       ; NUMBER OF MESSAGES TO A NON-EX LINK
174: NRFNL:  0       ; NUMBER OF RFNMS WITH NO LINK IN LINK TABLE
175: NILLOP: 0       ; ILLEGAL SECOND LEVEL PROTOCAL OP CODE
176: BSILL:  0       ; BYTE SIZE FOR SECOND LEVEL COMMAND ILLEGAL
177: BCMM:   0       ; BYTE COUNT TOO SMALL FOR SECOND LEVEL COMMAND
178: RERRM:  0       ; NUMBER OF ERROR MESSAGE WE HAVE RECEIVED
179: SPRRP:  0       ; RESET REPLY WITH NO RESET GIVEN
180: N2RFCS: 0       ; NUMBER OF TIMES TWO RFCS FROM THE SAME HOST WERE RECEIVED
181: NNOCLS: 0       ; NUMBER OF TIMES NO CLOSE WAS SENT WHEN ONE WAS RECEIVED
182: NILLST: 0       ; NUMBER OF TIMES THE TABLES WERE IN AN ILLEGAL STATE
183: NNCOR:  0       ; NUMBER OF TIMES WE DIDN'T HAVE ANY FREE STORAGE AT UUO LEVEL
184: NNOCLW: 0       ; NUMBER OF TIMES WE DIDN'T ACKNOWLEDGE A CLS
185: NOLKS:  0       ; NUMBER OF TIMES WE COULDN'T ASSIGN A LINK NUMBER
186: NHOST0: 0       ; NUMBER OF TIMES WE GOT A MESSAGE FOR HOST ZERO
187: SLNOPS: 0       ; NUMBER OF SECOND LEVEL NO-OPS RECEIVED
188: NHANGS: 0       ; INPUT STOPPED DUE TO LACK OF FREE STORAGE
189: NDPBLK: 0       ; NUMBER OF TIMES WE TRIED TO STEAL F.S. FROM DPYSER
190: NSPSUS: 0       ; SPARE F.S. BLOCKS WE USED
191: NRSETS: 0       ; NUMBER OF RESETS WE HAVE RECEIVED
192: NMESIN: 0       ; MESSAGES RECEIVED
193: NMESOU: 0       ; MESSAGES SENT
194: NNOLNK: 0       ; WE RAN OUT OF TABLE SPACE
195: NSCLSS: 0       ; NUMBER OF UNSOLICITED CLSS WE RECEIVED
196: NOPADB: 0       ; NO PADDING BIT FOUND
197: OPTMO:  0       ; NUMBER OF TIMES THE INTERFACE TIMED OUT
198: IERBIT: 0       ; NUMBER OF TIMES THE IMP ERROR BIT CAME UP
199: SLUNLK: 0       ; SECOND-LEVEL UNKNOWN LINKS.
200: RWNOSS: 0       ; REGULAR MESSAGE WITH NO SEND OR RECEIVE SOCKET
201: NIWCNO: 0       ; NUMBER OF INPUTS (REGULAR MESSAGES) WITHOUT CONNECTION OPEN
202: NSSC:   0       ; NUMBER OF REGULAR MESSAGES FOR CLOSED SOCKET
203: NALWNC: 0       ; NUMBER OF ALLOCATES FOR UNCONNECTED LINK
204: 
205: IMPEND←←.               ; END OF AREA CLEARED AT INITIALIZE TIME
 EOF: IMPDDB end-of-file. cnt=